home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Datafile PD-CD 1 Issue 2
/
PDCD-1 - Issue 02.iso
/
_utilities
/
utilities
/
004
/
_adhesive
/
examples
/
CUser
/
c
/
main
Wrap
Text File
|
1994-09-23
|
1KB
|
65 lines
/* Reverse a string using Adhesive object 2 which in turn uses object 3.
Note we know nothing about object 3 in this program.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "h.kernel"
#include "h.Adhesive"
/* procedure from object 2 to reverse string */
void stringSimpleReverse(char *string);
/* external request table */
extern Adhesive_Request cahg_need_ObjectsNeeded;
/* our user handle */
Adhesive_User userHandle=NULL;
static void checkErr(_kernel_oserror *err)
{ /* does nothing if passed a zero pointer
else displays error and does not return
*/
if (err) {
fprintf(stderr,"Error: %x %s\n",err->errnum,err->errmess);
exit(EXIT_FAILURE);
}
}
static void deRegister(void)
{
checkErr(adhesive_Deregister(&userHandle));
}
int main()
{
Adhesive_UserInfo info;
char buff[256];
info.flags=0;
info.name="C User";
/* setup atexit handler to ensure we always deregister */
atexit(deRegister);
/* register with Adhesive */
checkErr(adhesive_Register(&userHandle,&info));
/* request objects */
checkErr(adhesive_Request(&userHandle,&cahg_need_ObjectsNeeded));
/* copy string into writeable buffer */
strcpy(buff,"this is a test");
/* reverse string using requested object */
printf("Original string: %s\n",buff);
stringSimpleReverse(buff);
printf("Reversed string: %s\n",buff);
return EXIT_SUCCESS;
}